Интеграция авторизации (Login) в мобильном приложении
Реализация экрана авторизации, отправка учетных данных, сохранение TokenPair в Secure Storage и навигационный переход.
NoteКраткая карточка задачи
- Репозиторий / Компонент:
mobile-app(Клиентское приложение iOS / Android). - Категория: Фронтенд.
- Взаимодействие: Вызов внешнего
HTTP POST /api/v1/auth/login. - Статус: Готово к реализации
Инструкция по шагам:
- На Шаге 1 (Валидация интерфейса и отправка): На экране авторизации реализовать клиентскую валидацию полей ввода (проверка формата email, проверка минимальной длины пароля). По нажатию кнопки «Войти» запустить индикатор загрузки (loader), сформировать тело
UserAuthRequestDTOи отправить запросPOST /api/v1/auth/login. - Обработка бизнес-ошибок: Реализовать перехват статус-кодов ответов. Если API возвращает
HTTP 401 Unauthorized, скрывать лоадер и выводить пользователю стандартизированное UI-уведомление: “Неверный логин или пароль”. При ошибкеHTTP 429выводить предупреждение о временной блокировке запросов. - На Шаге 10 (Безопасное сохранение токенов): При получении успешного ответа
HTTP 200 OKизвлечь из тела ответа параметрыaccessиrefresh. Вызвать внутренний персистентный методSecureStorage.write(key, value). Записать токен доступа в iOS Keychain / Android Keystore. - Сброс стейта и Навигация: После успешного сохранения токенов инициализировать стейт-менеджер приложения (например, Bloc/Riverpod) данными пользователя. Выполнить команду роутера для жесткого переключения интерфейса со сбросом истории: перенаправить пользователя с экрана логина на главный экран цифрового холодильника (Main Dashboard Screen).
- На Шаге 1 (Валидация интерфейса и отправка): На экране авторизации реализовать клиентскую валидацию полей ввода (проверка формата email, проверка минимальной длины пароля). По нажатию кнопки «Войти» запустить индикатор загрузки (loader), сформировать тело